[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.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
howtos:slackware_admin:building_a_package [2014/01/23 23:45 (UTC)] – Migrated over from Slackwiki - original author now unknown arfonhowtos:slackware_admin:building_a_package [2023/12/14 11:43 (UTC)] (current) mozes
Line 7: Line 7:
  
 Configure and compile the source as you usually do: Configure and compile the source as you usually do:
-<code>./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc+<code>./configure --prefix=/usr --libdir=/usr/lib64 --localstatedir=/var --sysconfdir=/etc
 make</code> make</code>
 +
 +<note important>For 32bit systems, adjust the library directory location: --libdir=/usr/lib</note>
  
 Make a temporary destination directory available: Make a temporary destination directory available:
Line 45: Line 47:
 appname: appname:
 </file> </file>
-The "appname" string must *exactly* match the application name portion of the Slackware package (for example, a package titled "gaim-1.5-i486-1.tgz" must have a slack-desc file with the <appname> string of "gaim: " rather than "Gaim: " or "GAIM: " or something else.+The "appname" string must *exactly* match the application name portion of the Slackware package (for example, a package titled "gaim-1.5-i486-1.txz" must have a slack-desc file with the <appname> string of "gaim: " rather than "Gaim: " or "GAIM: " or something else.
  
 The first line must show the application name followed by a short description (enclosed in parentheses). The first line must show the application name followed by a short description (enclosed in parentheses).
Line 52: Line 54:
 Create the actual package: Create the actual package:
 <code>cd /tmp/build <code>cd /tmp/build
-makepkg ../app-version-arch-tag.tgz</code>+makepkg ../app-version-arch-tag.txz</code>
  
 //(The dashes should appear as above, so if the version has a subversion like say "1.0 RC2" make sure you use 1.0_RC2 not 1.0-RC2. The arch should be something like "i486" for example. The tag should consist of the build number and your initals, e.g. 1zb for Zaphod Beeblebrox's first build, 2zb for his second build, etc.  Official slackware packages have only numbers as tags.)// //(The dashes should appear as above, so if the version has a subversion like say "1.0 RC2" make sure you use 1.0_RC2 not 1.0-RC2. The arch should be something like "i486" for example. The tag should consist of the build number and your initals, e.g. 1zb for Zaphod Beeblebrox's first build, 2zb for his second build, etc.  Official slackware packages have only numbers as tags.)//
Line 63: Line 65:
 If all went well, you can now install the package. If all went well, you can now install the package.
  cd ..  cd ..
- installpkg app-version-arch-tag.tgz+ installpkg app-version-arch-tag.txz 
 + 
 + 
 +====== Specific tweaks ===== 
 + 
 +**Perl info**: perl packages comes with /usr/lib64/perl5/perllocal.pod and you probably don't want to overwrite the local version. Instead you could move the file to your package root/tmp and use the doinst.sh to append the new information to the old with something like <code>( cat /tmp/perllocal.pod >> /usr/lib64/perl5/perllocal.pod )</code>.
  
  
Line 72: Line 79:
 make install DESTDIR=$(pwd)/PACKAGE make install DESTDIR=$(pwd)/PACKAGE
 cd $(pwd)/PACKAGE cd $(pwd)/PACKAGE
-makepkg -l y -c n ../app-version-arch-tag.tgz +makepkg -l y -c n ../app-version-arch-tag.txz 
-installpkg ../app-version-arch-tag.tgz</code>+installpkg ../app-version-arch-tag.txz</code>
  
 Of course, you will have a package without description, (probably) uncompressed man pages and unstripped binaries. Of course, you will have a package without description, (probably) uncompressed man pages and unstripped binaries.
Line 80: Line 87:
  
 ====== Sources ====== ====== Sources ======
-<!-- If you are copying information from another source, then specify that source --> 
 * Original source: [[http://www.slackwiki.com/Building_A_Package]] \\  * Original source: [[http://www.slackwiki.com/Building_A_Package]] \\ 
-<!-- Authors are allowed to give credit to themselves! --> +* Contributions by [[wiki:user:arfon arfon]] \\ 
-<!-- * Originally written by [[wiki:user:xxx | User X]] --> +
-<!-- * Contributions by [[wiki:user:yyy User Y]] -->+
  
-<!-- Please do not modify anything below, except adding new tags.--> 
-<!-- You must remove the tag-word "template" below before saving your new page --> 
  
 +<!-- Please do not modify anything below, except adding new tags.-->
 {{tag>howtos software makepkg package_management author_slackwiki}} {{tag>howtos software makepkg package_management author_slackwiki}}
  
 howtos:slackware_admin:building_a_package ()