Pagina 1 di 1

How to compile packages for slacky.eu?

Inviato: gio 16 gen 2014, 18:48
da icovnik
Hi all,

I am the admin of slacky.eu mirror slack.isper.sk. Lately I found out that the number of packages in newer repositories is decreasing... So I decided I want to invest some labor and CPU cycles into improving this situation. So the questions:

How can I help? How to compile more packages? How to submit them to slacky.eu repository? Is there a way to automate this? Is there some cookbook for this?

Thank you

ico

Re: How to compile packages for slacky.eu?

Inviato: gio 16 gen 2014, 21:40
da Blallo
Hi!
Fist of all, welcome to the Slacky.eu community!
One thing before i describe you everything: please write an introduction here: viewforum.php?f=53

Ok, let's start.
These are our guidelines: unfortunately for you, they are in italian. http://www.slacky.eu/slacky/Linee_guida ... kware_14.1
I'm going to try to explain you :)

1) You MUST use a full and clean install Slackware. A chrooted Slackware installation works fine too.
(Here a script that can automate the process. http://www.slacky.eu/slacky/Slackware_C ... utoBuilder)
A x64 Slackware host can be used for both x86 and x64 Slackware chroot installations.

2) This is the standard template: you have to delete all unnecessary commented lines, except the licence at the head of the script. http://www.slacky.eu/wikislack/upload/4 ... emplate.sh
In our guidelines you can find templates for cmake and other types of compilation, they are easy to find.

3) You must install requiredbuilder, that create automatically the slack-required file (used by our tool, slackyd, for dependencies checking). You can find it in our repository.

4) The doinst.sh file, that is the post-install script, is optional. If you require it, this is the template. http://www.slacky.eu/wikislack/upload/3 ... i.template

5) The slack-desc file (that is MANDATORY) can be found on Slackbuilds.org, on previous versions inside our repository or you can use this bash script to automate this. http://www.slacky.eu/slacky/Crea_file_slack-desc

Most of the cases, you have only to edit the first part of the script:
- Name of package

Codice: Seleziona tutto

PKGNAME=appname
- Number version

Codice: Seleziona tutto

VERSION=${VERSION:-1.4.1}
- Build version: if there is a previous version, even on an older repository (ex: 13.3 or 14.0 repository) and same version number you have to increase.
If version number is different, reset it to "1".

Codice: Seleziona tutto

BUILD=${BUILD:-1}
- Tag: don't touch it, on Slacky.eu we use "sl".

Codice: Seleziona tutto

TAG=${TAG:-sl}
- Architecture: x86_64 if target is a x64 package.

Codice: Seleziona tutto

ARCH=${ARCH:-i486}
- Source url

Codice: Seleziona tutto

SOURCE="http://downloads.sourceforge.net/project/......./${PKGNAME}-${VERSION}/${PKGNAME}-${VERSION}.tar.gz"
- Tarball and directory name: if tarball have a non-standard name, write it. If not, leave it blank.
Example: standard template is name-version.tar.(bz2,gz,xz). If is different, type on it a name for the tarball (usually we retype standard name: $PKGNAME-$VERSION.tar.(bz2.gz.xz) )
Same speech for the DIR variable, that is about main directory inside the tarball.

Codice: Seleziona tutto

TAR=

Codice: Seleziona tutto

DIR=
- Documents: if there are some additional documents, write their name here.

Codice: Seleziona tutto

DOCS="AUTHORS COPYING INSTALL TODO TROUBLESHOOTING docs/ ..."
- Other files: same as documents, but if they are other files (like additional patches)

Codice: Seleziona tutto

SLKFILES=""
I think you know how to launch a SlackBuild compilation. :)
The directory tree must be like this, after a compilation:

Codice: Seleziona tutto

name
 -version
 --package.txz
 --src
 ---name.SlackBuild (don't forget the upper case)
 ---slack-desc
 ---slack-required
 ---doinst.sh (optional)
 ---patches (optional)
DON'T keep the source tarball, except if it is not downloadable anywhere.

When all is done, package the directory tree inside a tarball and send it to our admin, Loris: slacky@slacky.it

Ok, i think that's all.
Excuse me for my bad english and enjoy our packager' section and our forum :)

Re: How to compile packages for slacky.eu?

Inviato: gio 16 gen 2014, 23:56
da ZeroUno
iconvnik, you are welcome in the slacky community.
First, thanks for the mirror.

Yes, the number of packages is decreasing becouse the number of packager is decreasing, so you are very welcome.

Re: How to compile packages for slacky.eu?

Inviato: sab 18 gen 2014, 9:47
da roberto67
Anche io sarei disponibile ben volentieri. Se può andar bene datemi un cenno :)

Re: How to compile packages for slacky.eu?

Inviato: sab 18 gen 2014, 15:49
da Blallo
Manda un MP a Loris e chiedi di entrare nei packagers ;)

Re: How to compile packages for slacky.eu?

Inviato: mar 21 gen 2014, 14:28
da icovnik
Hello,

I read everything you wrote and also translated original italian version. I created chrooted Slackware to experiment (and modified slackware_chroot_autobuilder to install non-interactively, will upload it). Now I have few questions:
  • In this document there is mentioned script requirebuilder. The link isn't working. Do you have any other source of that script? I googled something but wanted some "official" version.
  • I understand what you wrote, also slackbuilds.org's system of package management, I'm using it quite often. I just don't understand fully the steps needed to resolve all dependencies. If I wanted I can imagine to fetch package by package from slackbuilds.org and compile everything by myself. I just don't know whether the result would be acceptable for slacky.eu repository.
  • As I mentioned, I want to compile LibreOffice. My first idea is to fetch that package source from 13.37 repository, since that is the last repo where it appeared. Is there some straightforward way to update dependency list? Or some program to tell me which dependencies are available, which are not of required version and which are missing completely?
I believe the requirebuilder script will answer some of my questions. For now it would be perfect to point me to some script to solve dependencies or describe the process you are using. Just to save some studying and work for me :)

Thanks

ico

Re: How to compile packages for slacky.eu?

Inviato: mar 21 gen 2014, 16:26
da Blallo
- Requiredbuilder:
x86: (we miss it, but if you want to compile it... http://repository.slacky.eu/slackware64 ... .16.5/src/ )
x64: http://repository.slacky.eu/slackware64 ... 64-4sl.txz
- To solve dependencies we use *also* Slackbuilds.org list of deps. But everything is managed by the slack-required file that requiredbuilder creates automatically.
- LibreOffice... we have the Libreoffice-autobuilder made by submax. http://submax.altervista.org/index.php? ... tilang.php
We prefer it because of less usage of *our* band.

Re: How to compile packages for slacky.eu?

Inviato: gio 23 gen 2014, 15:34
da icovnik
Let's first try my 1st outcome: copy-cat chroot autobuilder. This is original (thanks fot that!), you should use that, not my buggy rewrite... The only meaningfull reason for using my version is non-interactive usage. Just run that script with correct set of params to get working chroot environment.

Some examples:

Install really basic system from locally mounted CD:

Codice: Seleziona tutto

scab-noint \
    -c /data/slacky.eu/chroot2/ \
    -s /mnt/cdrom/slackware64/ \
    -m a,ap,l,n 
Install full system from net, Slovak KDE localisation:

Codice: Seleziona tutto

scab-noint \
     -c /data/slacky.eu/chroot2/ \
     -s http://ftp.linux.cz/pub/linux/slackware/slackware64-14.1/slackware64/ \
     -m FULL -p RELATIVE -l sk
..as above but download patches from another server:

Codice: Seleziona tutto

scab-noint \
    -c /data/slacky.eu/chroot2/ \
    -s http://ftp.linux.cz/pub/linux/slackware/slackware64-14.1/slackware64/ \
    -m FULL -l sk \
    -p http://slackware.at/data/slackware64-14.1/patches/
ico