VectorLinux
September 02, 2014, 03:21:12 am *
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] 3
  Print  
Author Topic: sbbuilder development. (was: Packaging mini-tool for 6.0 (and maybe 5.9))  (Read 16432 times)
toothandnail
Tester
Vectorian
****
Posts: 2527


« Reply #15 on: February 03, 2009, 01:12:41 pm »

Another request/suggestion. Requiredbuilder sometimes misses deps (and sometimes adds deps that are build-time, not runtime). It would be useful to have a mechanism to specify extra deps, or, alternately, specify deps that shouldn't be put in slack-required.

Not sure how easy (or even if its possible) that would be to implement, but it would add some useful extra functionality to sbbuilder.

paul.
Logged
no2thesame
Packager
Vectorite
****
Posts: 136


« Reply #16 on: March 21, 2009, 08:42:07 pm »

What am I doing wrong?

sbbuilder --package=unetbootin-source-319.tar.gz --version=319
produces
File exists. Failed creating top dir.
Not a directory. Failed creating version folder.
Not a directory. Failed creating src folder.
Not a directory at /usr/bin/sbbuilder line 192.


I thought that sbbuilder might have been corrupted because it worked a couple of weeks ago and so I Uninstalled v 4.12 and reinstalled (could only choose v.4.11... Why is that?)

Previously ssbuilder .4.12 with the same command line produced:
File exists. Failed creating top dir.
Not a directory. Failed creating version folder.
Not a directory. Failed creating src folder.
Not a directory at /usr/bin/sbbuilder line 198.


Thanks
no2
Logged
kidd
Packager
Vectorian
****
Posts: 682


« Reply #17 on: March 22, 2009, 12:33:42 am »


sbbuilder --package=unetbootin-source-319.tar.gz --version=319

should be

sbbuilder --package=unetbootin --version=319


then you'll have to move the source package to the correct dir.

Keep in mind this tarball name isn't the 'standard' for most tarballs, and sbbuilder will not see it (it'll look for unetbootin-319.(tgz|tar.gz|tar.bz2)  . you can try renaming the tarball, but I suspect when unpacking it, it'll create a dir called unetbootin-source-319 , not unetbootin-319 .

Well, I think you'll have to edit the slackBuild to make everything run.
Logged

no2thesame
Packager
Vectorite
****
Posts: 136


« Reply #18 on: March 22, 2009, 02:03:03 am »


sbbuilder --package=unetbootin-source-319.tar.gz --version=319

should be

sbbuilder --package=unetbootin --version=319

Well, I think you'll have to edit the slackBuild to make everything run.

Thanks for picking that up, Kidd. At least now sbbuilder works but...
running the SlackBuild ends with this error:

./unetbootin.SlackBuild: line 113: cd: /home/no2thesame/Unetbootin/unetbootin/319/tmp/unetbootin-319: No such file or directory
Setting permissions...
Configuring source...
./unetbootin.SlackBuild: line 156: ./configure: No such file or directory


What do I need to do now?
no2
Logged
kidd
Packager
Vectorian
****
Posts: 682


« Reply #19 on: March 22, 2009, 02:31:15 am »

you can look the error lines: 

line 113 is 

Code:
cd $TMP/$NAME-$VERSION

you should first unpack your tar.gz manually, and see what's the directory name it creates.  Then adapt some lines to its format.  By default, tar.gz files are name-version.tar.gz and when untarred, they create a name-version dir . as I said previously, you'll have to check the generated slackbuild manually to make everything work.

HTH
Logged

no2thesame
Packager
Vectorite
****
Posts: 136


« Reply #20 on: March 22, 2009, 05:44:17 am »

.. as I said previously, you'll have to check the generated slackbuild manually to make everything work.

This is way over my head... The two previous attempts at packaging "just worked". I suspect this is not a "default" tar.gz!

After I changed the name of the package to unetbootin-319.tar.gz, sbbuilder did its job and produced unetbootin/319/src/unetbootin.SlackBuild

However once I ran the SlackBuild, there was no unetbootin/319/tmp/unetbootin-319, which is what the SlackBuild line 115 is looking for. There are also no .configure files, in the tmp directory which  is what line 156 is looking for.

When I manually unpack the source it gives me language files and some .ts and .cpp The build-nostatic file which I take to be equivalent to our SlackBuild file make lots of reference to Debian things and according to the ReadMe I will need qmake and qt4.

All I want to do is make a bootable USB! So I'm giving up on unetbootin and will ask for help in a more appropriate area of the forum.

Thanks a lot though, Kidd. Appreciated it.
Logged
kidd
Packager
Vectorian
****
Posts: 682


« Reply #21 on: March 22, 2009, 07:23:48 am »

no2thesame, sbbuilder nor a proper SlackBuild are not required at all to make a package for your own use.

If you just want to install unetbootin, just follow the instructions you will (or should) find in a file called INSTALL or README , or search for  unetbootin installation.  you'll have to manually compile it, and install to your box.


Logged

no2thesame
Packager
Vectorite
****
Posts: 136


« Reply #22 on: March 22, 2009, 01:35:25 pm »

Thanks Kidd,
no2thesame, sbbuilder nor a proper SlackBuild are not required at all to make a package for your own use.
But I would rather have something I could share. Anyway the dependancies look messy (to my untrained eye) and there seems to be a simpler way to do the job.

Learned more about packaging though, so all is not lost.
Logged
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #23 on: December 06, 2010, 08:36:27 am »

Correct me if I am wrong, but I could not find a development thread for sbbuilder besides this oldish one, so I renamed it and madde it sticky...

That said, I have a suggestion to change the documentation files that are copied to the package. This is based on a longish time of using sbbuilder to set up my build scripts and then tweaking them. The changes go in /usr/share/sbb/template/tweaks.

replace:
Code:
cp -a AUTHORS COPYING ChangeLog Credits MANIFEST README TODO \
with:
Code:
cp -a ANNOUNCE* AUTHORS* BUGS* COPYING* ChangeLog* CHANGELOG* Credits* DEVELOPERS LICENSE* MANIFEST PROVENANCE README* TODO* Exception_to_GPL_for_Qt.txt \

I also changed the package format from tlz to txz, but that would be SOHO specific. This could be made into a runtime parameter, if it isn't one already.
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
uelsk8s
Administrator
Vectorian
*****
Posts: 2504



« Reply #24 on: February 06, 2011, 11:20:56 am »

I found an error in sbbuilder
as it is now it creates this
Code:
cd usr/info
if [ -f dir ]; then
    rm dir
fi
if [ -f dir.gz ]; then
    rm dir.gz
fi
for i in *.info.gz
        do
        install-info  dir
    done
in any pkg that has a usr/info dir

the install-info line is missing $i
not a big deal the info just doesnt get installed, I doubt anyone reads info anyways Smiley
the bad thing this does though is it changes to the usr/info dir and does not allow any symlinks added to the pkg to be created

this section should generate
Code:
CWD=$(pwd)
cd usr/info
if [ -f dir ]; then
    rm dir
fi
if [ -f dir.gz ]; then
    rm dir.gz
fi
for i in *.info.gz
        do
        install-info $i dir
done
cd $CWD

I have updated sbbuilder in the VL7.0 ISO's and will get with rbistolfi to get the changes added
Logged
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #25 on: February 07, 2011, 03:09:49 am »

I have seen this and my solution was to comment the lot out... Grin  I am not sure it is even necessary, since when installing packages with info files (after removing those lines, of course) I see a line in the console saying something to the effect that the info files are being regenerated (or similar). That is with installpkg and upgradepkg, I cannot say if this works with gslapt/slapt-get too.

BTW, I have made quite a few changes to the sbbuilder templates, so if anyone wants to try them out, I will attach them here. They go in /usr/share/sbb/template. I compressed them all, since they are very small, but I have not modified all of them.

One thing I added was handling for cases when the source tarball or the top-level directory within it have non-standard names, different from what the package name should be.

I also modified requiredbuilder to fix the dependency mess created by deps like:
Code:
pixman >= 0.19.2-i586-1vl60
when it should only be:
Code:
pixman >= 0.19.2
This way, deps are met as long as you have the same or higher version number installed, regardless of whether it is a VL or Slackware package.
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #26 on: February 22, 2011, 09:33:52 pm »

As it is right now, to add another file to /usr/doc, I have to write it in between the standard ones, making it hard to see:

"cp -a ANNOUNCE* <<file I want to add>> AUTHORS* BUGS* COPYING* ChangeLog* CHANGELOG* Credits* DEVELOPERS \
LICENSE* MANIFEST PROVENANCE README* TODO* Exception_to_GPL_for_Qt.txt \
$PKG/usr/doc/$NAME-$VERSION"

So to improve readability I put the names of all files I want to add into a variable, and then simply plug the variable name in the above list:

#Add all the files you want copied to docs, space separated
ADDITIONAL_DOCS=""
........
## Add common docs files:
cp -a \
$ADDITIONAL_DOCS \
ANNOUNCE* \
AUTHORS* \......

@Joe1962:
I love that tarname and dirname idea. This is way better than just changing the line manualy:
tar xvf $CWD/FileZilla_$VERSION"_src".tar.* || exit 1
which is what I was doing so far...


On a side note, I can see configure.cmake and configure.python files in the templates directory. Does that mean that sbbuilder can create SlackBuilds that configure packages with those? If so, how can I do that?
« Last Edit: February 22, 2011, 09:40:28 pm by budulay » Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
uelsk8s
Administrator
Vectorian
*****
Posts: 2504



« Reply #27 on: February 22, 2011, 10:01:13 pm »

sbbuilder --type=python --link=

       --type=string
               Type of SlackBuild.  There are 5 types of SlackBuilds :

               normal . Default configure; make and make install flags.

               perl . Slackbuild for perl packages.

               python . Slackbuild for python packages.

               noarch . noarch package? This is for you.

               cmake . Use cmake instead GNU autoconf.


sbbuilder --manual
Logged
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #28 on: February 22, 2011, 11:03:46 pm »

Thanks Uel, I didn't know sbbuilder had a manual, just the help page(sbbuilder --help).
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #29 on: February 23, 2011, 07:57:15 pm »

@Joe1962
While using your templates, I noticed that although you changed NAME to PKGNAME and VERSION to PKGVERSION(by the way, what was the reason for that?), when "sbbuilder --link" is used, the parsed LINK variable still contains NAME and VERSION, which pretty much breaks automatic source downloading:
Code:
LINK=${LINK:-"http://sourceforge.net/projects/alleg/files/$NAME/$VERSION/$NAME-$VERSION.tar.gz/download"}  #Enter URL for package here!

I looked through the templates, intending to fix this, but I can't find where the --link input is being parsed.
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Pages: 1 [2] 3
  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!