# writing bachelor thesis next year.



## graudeejs (Apr 30, 2010)

Hi, next, year I will write bachelor thesis.
I'd like to contribute to FreeBSD at same time.

My first idea (not pretty good probably) was:
http://lists.freebsd.org/pipermail/freebsd-ports/2010-April/060886.html

I'd be glad if someone could suggest me some more ideas, I have ~15-25 days, to decide which subjects I will study next year, and depending on this I will have to pick subject to bachelor thesis.

I've very interested in C, databases, FreeBSD


----------



## darkshadow (Apr 30, 2010)

*nice*

nice , do you know what I love to see , a sync between ports installed on different machine with single machine that do build new package  periodically  with time and these client fetch these package to up update there installed programs . since I hate wasting time doing build for all installed port ,


----------



## graudeejs (Apr 30, 2010)

i think you can write sh script for that


----------



## darkshadow (Apr 30, 2010)

*sh script*

6 machine has different packages installed 
1 machine have *all* ports for the six (or more) machines it fetch port and build package for all of them
the other six (or more) machine fetch the packages from that centralize machine  , I think it more than shell script since the the server have to synchronize with packages installed on clients and maybe provide different build option for each one. (you ask idea sorry for my basic one)


----------



## paean (Apr 30, 2010)

A thesis on those sex machines might be interesting.


----------



## danger@ (Apr 30, 2010)

defending such a thesis might be quite fun


----------



## dennylin93 (Apr 30, 2010)

There are plenty of ideas from FreeBSD Summer Projects. Some of them have already been chosen as GSoC projects though.


----------



## carlton_draught (Apr 30, 2010)

killasmurf86 said:
			
		

> I'd be glad if someone could suggest me some more ideas, I have ~15-25 days, to decide which subjects I will study next year, and depending on this I will have to pick subject to bachelor thesis.


IIRC, one of the reasons a company (on the yahoo thread) was switching away from FreeBSD is that compiling from ports takes too long. Or maybe that was someone else. So why not use packages, and why aren't they more popular? 

I use ports. One of the problems I have with packages is that AFAIK there is no checking of hashes for security purposes, whereas there is with ports. If you are security minded, this is a very good reason to choose ports. However, I don't know why there can't be md5 hashes for packages. Ubuntu does this. Why not FreeBSD?

If I am right here, maybe that's an idea for a project.


----------



## graudeejs (Apr 30, 2010)

paean said:
			
		

> A thesis on those sex machines might be interesting.



I'm talking serious here


----------



## graudeejs (Apr 30, 2010)

carlton_draught said:
			
		

> IIRC, one of the reasons a company (on the yahoo thread) was switching away from FreeBSD is that compiling from ports takes too long. Or maybe that was someone else. So why not use packages, and why aren't they more popular?
> 
> I use ports. One of the problems I have with packages is that AFAIK there is no checking of hashes for security purposes, whereas there is with ports. If you are security minded, this is a very good reason to choose ports. However, I don't know why there can't be md5 hashes for packages. Ubuntu does this. Why not FreeBSD?
> 
> If I am right here, maybe that's an idea for a project.



Good, point, thanks


----------



## expl (Apr 30, 2010)

killasmurf86 said:
			
		

> Hi, next, year I will write bachelor thesis.
> I'd like to contribute to FreeBSD at same time.
> 
> My first idea (not pretty good probably) was:
> ...



I do not think moving to a pure sqlite DB system is a good idia for many reasons, but mainly becouse there are lots of administrating scripts that are made to handle package system the way it is now. How ever what could be done (and is also on the official list for FreeBSD new idias) is modernising existing tools and creating an API for managing packages from many languages. What current tools badly lack is intergration of libarchive to double the speed of big package installations and versioned dependencies. I am currently working on this as my side project and looking for people who want to help (sent you mail aswell).


----------



## graudeejs (Apr 30, 2010)

expl said:
			
		

> I do not think moving to a pure sqlite DB system is a good idia for many reasons, but mainly becouse there are lots of administrating scripts that are made to handle package system the way it is now. How ever what could be done (and is also on the official list for FreeBSD new idias) is modernising existing tools and creating an API for managing packages from many languages. What current tools badly lack is intergration of libarchive to double the speed of big package installations and versioned dependencies. I am currently working on this as my side project and looking for people who want to help (sent you mail aswell).



Interesting.
You sure you emailed me?
I still haven't got any mail


----------



## expl (Apr 30, 2010)

killasmurf86 said:
			
		

> Interesting.
> You sure you emailed me?
> I still haven't got any mail



Yes you replied me you have no time due to school. I also had a GTK+ client for demonstrating my libraryÂ´s API.


----------



## mix_room (Apr 30, 2010)

killasmurf86 said:
			
		

> Good, point, thanks



Perhaps this could be an idea for your thesis. Depending on how large the thesis is supposed to be the implementation of package repository with hashes, proper distribution of them, ensuring that they remain updated when the packages are built etc etc. Might cover enough to fulfill the requirements, as well as contributing to the project.


----------



## expl (Apr 30, 2010)

mix_room said:
			
		

> Perhaps this could be an idea for your thesis. Depending on how large the thesis is supposed to be the implementation of package repository with hashes, proper distribution of them, ensuring that they remain updated when the packages are built etc etc. Might cover enough to fulfill the requirements, as well as contributing to the project.




Yes, currently pkg tools do not support proper updating. Intergration of a good updating routine would be most welcome.


----------



## graudeejs (Apr 30, 2010)

expl said:
			
		

> Yes you replied me you have no time due to school. I also had a GTK+ client for demonstrating my libraryÂ´s API.



aaahhh, that was you....  I didn't know


----------



## aragon (May 1, 2010)

As powerful as the ports system is, its shortfalls are one of FreeBSD's biggest weaknesses for those just seeking a simple, fast package management system IMHO.  I doubt I need to elaborate here.  Any work on improving ports and/or packages would be valuable.

I've often thought of trying to port/adapt debian's APT to FreeBSD.  It should be possible to implement it along side the existing ports and packages infrastructure in the same way that it works along side debian's dpkg infrastructure.


----------



## dennylin93 (May 1, 2010)

Perhaps it might be feasible to create a better installation/management system for packages. Ports work well enough, but packages aren't as easy to use compared to other operating systems.

Are there any programs like apt/yum under a BSD license?


----------



## expl (May 7, 2010)

So far this is the list of ideas for improving package tools:

#0 libarchive intergration
#1 Versioned dependencies
#2 Updating routines
#3 Downgrading routines
#4 SHA signatures for packages
#5 Meta packages
#6 Remote index reading and mapping

Please help with adding to this list.


----------



## graudeejs (May 7, 2010)

#7 bundled packages 

pkg_add -r -b kde


----------



## expl (May 7, 2010)

killasmurf86 said:
			
		

> #7 bundled packages
> 
> pkg_add -r -b kde



I think thats called 'metapackages' as I have it on the list


----------



## kpedersen (May 7, 2010)

Is there a way to do in FreeBSD ports...


```
make package
```

... without having the port installed first? (and without creating a jail etc...)

If not, that would be really useful and interesting for a final year project.

You can also talk about isolation etc... (if it automatically makes a jail)

It would also be a huge benefit (I think) to the FreeBSD project because automatically creating packages would be made a lot easier and misversioned dependencies (whilst making the package) would be obliterated.

If that isnt your interest, FreeBSD always needs more drivers


----------



## phoenix (May 7, 2010)

I believe there's work ongoing to support that, whereby all ports would be installed into a sandbox, then a package created from the sandbox, and then installed via pkg_add using that package.  Thus, creating a package would skip the last step.

I recall something along these lines crossing the freebsd-ports mailing list in the past 6 months.


----------

