VectorLinux
October 30, 2014, 07:36:46 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Visit our home page for VL info. To search the old message board go to http://vectorlinux.com/forum1. The first VL forum is temporarily offline until we can find a host for it. Thanks for your patience.
 
Now powered by KnowledgeDex.
   Home   Help Search Login Register  
Please support VectorLinux!
Pages: 1 [2]
  Print  
Author Topic: For Packagers: Packaging Standards - Package Descriptions  (Read 19620 times)
easuter
Global Moderator
Vectorian
*****
Posts: 2160



« Reply #15 on: January 14, 2007, 02:49:30 pm »

Hmm... I see... I normaly write my description-paks just as normal text, as so:

Code:
amaroK (the audio player for KDE)

amaroK provides a simple drag and drop interface,
that really makes playlist handling easy.

HOME PAGE: http://amarok.kde.org
LICENSE:   GNU GPL

And then checkinstall puts the amarok: automaticaly.
« Last Edit: January 14, 2007, 02:51:34 pm by easuter » Logged

JohnB316
Administrator
Vectorian
*****
Posts: 1346


Registered Linux User #386728


« Reply #16 on: January 15, 2007, 09:50:15 am »

To add to Joe1962's post, when installpkg is called, it only cares about the first 11 lines of the slack-desc file. If you see an official Slackware slack-desc file, you'll see stuff above the actual package description. Look at the slack-desc file for bash from the slackware-11.0 source tree as an examplee:

Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

    |-----handy-ruler------------------------------------------------------|
bash: bash (sh-compatible shell)
bash:
bash: The GNU Bourne-Again SHell.  Bash is a sh-compatible command
bash: interpreter that executes commands read from the standard input or
bash: from a file.  Bash also incorporates useful features from the Korn
bash: and C shells (ksh and csh).  Bash is ultimately intended to be a
bash: conformant implementation of the IEEE Posix Shell and Tools
bash: specification (IEEE Working Group 1003.2).
bash:
bash: Bash must be present for the system to boot properly.

Installpkg will only display the stuff with the package name. It will ignore everything above it and below it.

HTH some more,
John
Logged

VL 6.0 SOHO latest alpha on one box, VL 5.9 Lite on the other.
easuter
Global Moderator
Vectorian
*****
Posts: 2160



« Reply #17 on: January 16, 2007, 11:50:54 am »

This is what one of my package descriptions looks like after using that script on the description-pak file:

Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct.  It's also customary to
# leave one space after the ':'.

         |-----handy-ruler------------------------------------------------------|
dd_rescue: dd_rescue: dd_rescue clones block devices
dd_rescue: dd_rescue:
dd_rescue: dd_rescue: Like dd, dd_rescue copies data from one file or block device
dd_rescue: dd_rescue: to another.
dd_rescue: dd_rescue: dd_rescue is also faster than the regular dd command, since it
dd_rescue: dd_rescue: will copy larger chunks of data, and only copy smaller chunks
dd_rescue: dd_rescue: should it encouter errors/bad blocks.
dd_rescue: dd_rescue:
dd_rescue: dd_rescue: Website: http://www.garloff.de/kurt/linux/ddrescue/
dd_rescue: dd_rescue: License: GNU General Public License
dd_rescue:
dd_rescue:
dd_rescue: #----------------------------------------
dd_rescue:
dd_rescue: BUILDDATE: Tue Jan 16 19:59:14 WET 2007
dd_rescue: PACKAGER:  easuter
dd_rescue: HOST:      Linux 2.6.18.4 i686
dd_rescue: DISTRO:    Vector Linux 5.8 Standard   12-16-2006
dd_rescue: CFLAGS:    -O2 -mtune=i686 -march=i586
dd_rescue: CONFIGURE: prefix must be ajusted in Makefile. prefix=/usr
dd_rescue:

How can I make checkinstall not add the "dd_rescue:" as well, since I already have...
Logged

JohnB316
Administrator
Vectorian
*****
Posts: 1346


Registered Linux User #386728


« Reply #18 on: January 16, 2007, 02:55:15 pm »

easuter,

There's no real easy way to do it. My suggestion is not to add the package name to the description-pak file yourself, as checkinstall does that for you automatically, as you found out. ;-)

HTH a bit,
John

Logged

VL 6.0 SOHO latest alpha on one box, VL 5.9 Lite on the other.
uelsk8s
Administrator
Vectorian
*****
Posts: 2504



« Reply #19 on: January 16, 2007, 03:48:17 pm »

you could edit /usr/sbin/checkinstall with a text editor as root and change line 1889 from this:
echo "$NAME: $line" >> ${BUILD_DIR}/install/slack-desc
to this:
echo $line >> ${BUILD_DIR}/install/slack-desc

but if you did that you would have to add the package name to the slack-desc for every package you made with it
Logged
easuter
Global Moderator
Vectorian
*****
Posts: 2160



« Reply #20 on: January 30, 2007, 11:25:02 am »

you could edit /usr/sbin/checkinstall with a text editor as root and change line 1889 from this:
echo "$NAME: $line" >> ${BUILD_DIR}/install/slack-desc
to this:
echo $line >> ${BUILD_DIR}/install/slack-desc

but if you did that you would have to add the package name to the slack-desc for every package you made with it

Yup, thats what I'm using now, keeps the build data separate from the description.

And about that, I see a lot of the new packages being submitted have the build info included in the description (because it was added to description-pak without the above modification), and then makes the package description longer than 11 lines. Eg:

http://www.vectorlinux.com/forum2/index.php?topic=1784.msg10563;boardseen#new

After exploded, slack-desc looks like this:

Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct.  It's also customary to
# leave one space after the ':'.

        |-----handy-ruler------------------------------------------------------|
kdevelop: kdevelop (integrated development environment for kde)
kdevelop:
kdevelop: Kdevelop is an integrated development environment for
kdevelop: KDE. It supports these programming languages:
kdevelop: Ada, Bash, C/C++, Fortran, Haskell, Java, Pascal, Perl, PHP,
kdevelop: Python, Ruby, SQL
kdevelop:
kdevelop: Website: http://www.kdevelop.org/
kdevelop: License: GNU General Public License
kdevelop: Authors: Bernd Gehrmann & others
kdevelop:
kdevelop: #----------------------------------------
kdevelop:
kdevelop: BUILDDATE: Sun Jan 28 21:15:25 GMT+1 2007
kdevelop: PACKAGER:  The Headacher
kdevelop: HOST:      Linux 2.6.18.5 i686
kdevelop: DISTRO:    Vector Linux 5.8 Standard   12-16-2006
kdevelop: CFLAGS:    -O2 -march=i586 -mtune=i686
kdevelop: CONFIGURE:   $ ./configure --prefix=/opt/kde

Has 19 lines.
Even though it may be a hassle to add the packagename: lines manually and use the modification that uelsk8s suggested on checkinstall, the build info get properly separated.
Maybe this should be one of the build parameters as well?
« Last Edit: January 30, 2007, 11:27:03 am by easuter » Logged

M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #21 on: January 30, 2007, 11:47:34 am »

You can add that on a script, and just run that script after make, right before checkinstall
Logged

easuter
Global Moderator
Vectorian
*****
Posts: 2160



« Reply #22 on: January 30, 2007, 12:02:03 pm »

You can add that on a script, and just run that script after make, right before checkinstall

Yes I know that.....I'm also using a script to place my build info in.
What I'm trying to say is that by just adding the build info to the description-pak without modifying checkinstall makes the build info part of the package description, and not separate.

That example I gave above shows how kdevelop's slack-desc looks like, but it should look like this:
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct.  It's also customary to
# leave one space after the ':'.

        |-----handy-ruler------------------------------------------------------|
kdevelop: kdevelop (integrated development environment for kde)
kdevelop:
kdevelop: Kdevelop is an integrated development environment for
kdevelop: KDE. It supports these programming languages:
kdevelop: Ada, Bash, C/C++, Fortran, Haskell, Java, Pascal, Perl, PHP,
kdevelop: Python, Ruby, SQL
kdevelop:
kdevelop: Website: http://www.kdevelop.org/
kdevelop: License: GNU General Public License
kdevelop: Authors: Bernd Gehrmann & others

#----------------------------------------

BUILDDATE: Sun Jan 28 21:15:25 GMT+1 2007
PACKAGER:  The Headacher
HOST:      Linux 2.6.18.5 i686
DISTRO:    Vector Linux 5.8 Standard   12-16-2006
CFLAGS:    -O2 -march=i586 -mtune=i686
CONFIGURE:   $ ./configure --prefix=/opt/kde

The packages final description that will appear to the user (slack-desc) should not have "kdevelop: " before the build info...
Logged

M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #23 on: January 30, 2007, 12:35:51 pm »

Quote
The packages final description that will appear to the user (slack-desc) should not have "kdevelop: " before the build info...
Right...
Logged

stoichyu
Packager
Vectorite
****
Posts: 369



« Reply #24 on: January 31, 2007, 01:47:33 am »

Personally, I find it more convenient if the build info was readable without having to download the package and explode it. Maybe we could put build info into a separate file instead or add a something like build: in front of the line that will also show up in gslapt/slapt-get?
Logged

There's no place like ~.
VL 5.8 PentiumD 2.8Ghz Registered Linux User #432836
easuter
Global Moderator
Vectorian
*****
Posts: 2160



« Reply #25 on: January 31, 2007, 07:26:19 am »

Personally, I find it more convenient if the build info was readable without having to download the package and explode it. Maybe we could put build info into a separate file instead or add a something like build: in front of the line that will also show up in gslapt/slapt-get?

AFAIK, the build info is copied from the slack-desc file and into a .txt file that is then placed with the package in the repo.
So all you have to do is go into the ftp server and read the the file from there.
Logged

JohnB316
Administrator
Vectorian
*****
Posts: 1346


Registered Linux User #386728


« Reply #26 on: January 31, 2007, 08:34:51 pm »

Personally, I find it more convenient if the build info was readable without having to download the package and explode it. Maybe we could put build info into a separate file instead or add a something like build: in front of the line that will also show up in gslapt/slapt-get?

AFAIK, the build info is copied from the slack-desc file and into a .txt file that is then placed with the package in the repo.
So all you have to do is go into the ftp server and read the the file from there.

easuter is indeed correct. The file is called PACKAGES.TXT. It is at the top level of each of the major sub-repos. If you use slapt-get or gslapt to update packages, these files are also on your local box as hidden files in the /home/ftp/pub/veclinux directory. Typing ls -a will yield a list of those files for each source used by slapt-get or gslapt.

HTH,
John
Logged

VL 6.0 SOHO latest alpha on one box, VL 5.9 Lite on the other.
stoichyu
Packager
Vectorite
****
Posts: 369



« Reply #27 on: January 31, 2007, 09:18:47 pm »

easuter is indeed correct. The file is called PACKAGES.TXT. It is at the top level of each of the major sub-repos. If you use slapt-get or gslapt to update packages, these files are also on your local box as hidden files in the /home/ftp/pub/veclinux directory. Typing ls -a will yield a list of those files for each source used by slapt-get or gslapt.
Thanks for pointing this out! It's really helpful. Now I have to modify my checkinstall script to make it compliant...
Logged

There's no place like ~.
VL 5.8 PentiumD 2.8Ghz Registered Linux User #432836
Pages: 1 [2]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!