Building your own slackware packages
Where can I find a good guide that can direct me in creating my own slackware packages? This will be my first creation so I'm looking for something that goes into a little bit of detail for me to understand what is going on.
I usually install from source, but after having slackware installed for a little bit my tar directory is getting to be a huge mess. I can only imagine the pain down the line when a bunch of updates come out one after another. |
You can use checkinstall. Take a look at the documents section on the website, the readme file is a really good guide to get you started. You can also read the documentation available at linuxpackages.
|
Alternatively, you could read through some of Pat's SlackBuild scripts (look under /source) to see how he builds packages from source.
|
stay away from checkinstall... nothing beats making your own build scripts, like patrick does... and like cathectic says, reading patrick's scripts is a GREAT way to understand how things are done...
at linuxpackages.net there's some documentation, for example: http://www.linuxpackages.net/howto.p...=Package+Howto http://www.linuxpackages.net/howto.p...erfect+Package |
Quote:
|
Thanks for the tips guys. I just realized I'm going to have a very busy week.
Discrete and english test tomorrow, calculus test and soccer practice tuesday, break on wedsnday, chemistry test and soccer practice thursday, and a university program orientation friday :(. So I think the only time I'll have to try this out is probably next weekend :(. Ugh, I got my hopes up of trying it out soon too :(. |
I'd go with checkinstall... I've never had a problem with it.
Sure you could make your own build scripts, like pat, but checkinstall is dead easy to use. |
Quote:
Quote:
Quote:
|
I'm with win32sux on this... If it works for you then fine. I, however, always have problems with it. For some reason it always resets my hostname to "f".... That pretty much renders your system useless. Nothing will open at all. It's either reboot or rerun the startup script that sets the hostname. Ofcourse, if you happen to not already have a terminal up, even thats not an option because the terminal won't open. You can't do anything but reboot. Maybe you could fix it from another VC....
It also likes to louse up symlinks on me. I'll get doinst.sh's like this: Code:
( cd sr/lib ; rm -rf blah ) Also, what happens if the package drops a config file on you. One that you already have and spent some time tweaking out? It just gets replaced. So, your going to explodepkg on it, rename the config to .new and add quite a few lines to doinst.sh... If your going to do all that, you should have just used makepkg in the first place. Actually, even thats not an option because by the time the package is made, checkinstall already hosed your config file on the system. Or what if the actuall source code install NEEDS to run additional commands in order to register itself with your system such as scrollkeeper, gconftool, gdk-pixbuf-query-loaders or countless other binaries designed to "activate" your new software? Checkinstall isn't going to do that. Not if you give the slack-pak to someone and tell them to install it. The only reason why checkinstall works in that regard is because it actually installs the software first, then installs to a package directory. So, if you ever use those slak-paks on a different system, they are bogus packages that won't work... I could go on and on actually... I just think it's a pretty shoddy way to handle things. Pat kinda hints at the same thing on his FTP site in the readme. Sure, it's usefull if it decides to work for you. Otherwise it's not worth much... It just doesn't feel right using it either, even if it did work. I don't like anything automated on a slackware box. Slack runs really stable and I prefer to make packages by hand with 'makepkg' just so I know exactally what is happening. Once you start giving up control and trusting things like checkinstall, swaret, slapget et. all, your just asking for trouble. Thats the main reason why I switched to Slack from Redhat, Suse, Mandrake ect... I got tired of the OS devs trying to make software 'easy' and automated. In the process, it's easy to screw things up. Actually, that's the whole reason why I stopped using Windows. Well, anyway.... That's my reason/s... :D Go ahead and try checkinstall and if it works, then great. You still might want to try the "proper" way of making packages at some point even if checkinstall does end up working for you.. Otherwise, your not really using Slack... If you don't take into account ALL aspects of package management, you might as well start installing RPM's on Slackware... ;) Thats my take on it anyways... |
Quote:
|
Quote:
|
I'm a slackware purist if you will. I just hate to see people getting complacent with such a core concept as packages.... Makes me sad... :( I purposefully stay away from the slaptget posts cause I wanna say, "DUH!!!! What did you think was going to happen?".. ;) Don't anyone get mad at me here.. If you like checkinstall then thats great. It's your system and you can do whatever works for you. This is almost a vi versus emacs thing... I can feel it in the air...
I'm against Dropline Gnome for the same reasons I stated earlier... So, I build my own Gnome now that Pat chucked it. But yea, the linuxpackages.net link is probably a decent starting point. http://www.linuxpackages.net/howto.p...erfect+Package But actually, I think this link is the best place to learn about how to make packages.. ftp://ftp.slackware.com/pub/slackware/slackware_source/ ;) After looking at a few build scripts, it doesn't take a rocket scientist to understand what is happening with them. Ops.. Both those links are listed already... My mom always told me that using 'makepkg' would make me go blind.... :tisk: |
I simply wanted justification for staying away from checkinstall, but so far nobody has convinced me of the technical demerits of using it. What win32sux and jong357 have expressed in their posts seems to be just personal preference. If automated tools work fine for a particular purpose, I see no harm in using them regardless of the Linux distribution being used.
|
Well, I stay away from checkinstall not because of personal prefrence, but because it absolutlely does NOT work in the slightest, as I have already stated. But yea, if you find something easy and enjoyable to use because it's automated then checkinstall fits that bill quite nicely. Again... IF it works in the first place....
|
Quote:
Code:
find /usr/man -type f -regex '.*[^z]$' Also, Code:
ls -ld /bin /sbin /usr/bin /usr/sbin |
All times are GMT -5. The time now is 02:09 AM. |